
                     3.7.  
                                                          25.09.90

     ħ ।⠢ ᮡ  䥩    ᯥ஬ 
   ஭,  ࠬ  㣨 ணࠬ   㣮 
஭.  ॠ ணࠬ ᯥ,  믮騥   
०	HALT.  맮    믮   ⥬   饭	 
ᮮ⢥饬  ॣ  (室饬      㫨㥬 
ॣ஢) ᫥騬 ࠧ:

     MOV  arg, @#Name


     Name    (.. ᮮ⢥騩  ॣ);
     Arg   㬥  ࠬ, । .

      ணࠬ  ᥬ   䠩  P16.MAC  ᮤঠ  
室 ।  ப   ᮢ    .   
祭    ணࠬ  ⮣  䠩  ४  ᯮ짮 
᫥ ᫥⥫쭮 ४⨢:

     ...
     .nlist
     .include  "p16.mac"
     .list
     ...

      ⮬ 砥 楫ᮮࠧ  ᯮ짮  ப   
맮 :

     Name      arg


     Name    (.. ᮮ⢥ ப);
     arg   㬥  ࠬ, । .

     ᫨  室 ।    㬥,   
筮  ⮩  楫  ᯮ  㭨ᠫ  ॣ  , 
稭  r0. ᫨ ⢮  㬥⮢  筮  ,	
筮 ।  ⠡,  ன ࠧ 㬥.

       ᮮ  襩  訡  ⠭ 
⮬  ᫮ ﭨ . ᫨ 0,     믮 
ଠ쭮. ᫨ 1,  㦥  訡  (r0    ⮬  筮
ᮤন ⥫ ଠ).

      裡    묨  ᮡﬨ  ⭮  ॠ樨 
ࠡ⪨ 뢠  饭  "㫨㥬 ॣࠬ" ᫥ 
樨   饭      ॣħ      ᫥ 
 NOP.  	பħ    NOP  㦥
祭.

Ŀ
 GET4K   墠  1  16  4 ( 襩 );

맮:
	  n4k   室 ᫮   4
	  mov  n4k, @#GET4K
:
	  GET4K     n4k
室:
     0, r0    ᮤন ॣ ᯥ      
                 ࠦ ࢮ 祭 ;
     1         ᢮   ॡ㥬 ࠧ;

Ŀ
 GET8K   墠 . 뢭      (  襩
   );
맮:
	  n8k    ॡ㥬    8;
	  mov  n8k, @#GET8K
:
	  GET8K     n8k
室:
     0, r0    ᮤন ॣ ᯥ      
                 ࠦ ࢮ 祭 ;
     1, r0     ᢮    筮  ꥬ;	r0
                 ᮤন ࠧ ᨬ쭮  ᢮  ; 
		 r00, ᫨    ᮧ ⮢ ;

Ŀ
FREMEM   ᢮ 뢭   ( 8);
Ĵ
FRE4K	  ᢮ 뢭   ( 4);

            ᢮ ⮫쪮 ਭ  
          
맮:
	  bln   ᮤন ॣ ᯥ   ⮡
                  ࢮ  ᢮  ;
	  nk     ᢮     8 / 4;
	  mov  bln, r0
	  mov  nk,  @#FREMEM	   ;      mov #nk, @#FRE4K
:
	  FREMEM    nk		   ;      FRE4K     nk
室:
          ;

Ŀ
PUTBMAP   ⮢   ; ᫨   뫮
   ,  ᮧ ;
맮:
	  map    ⠡,  ன 㤥 ᪮஢ 
                   ;
	  mov  map, @#PUTBMAP
:
	  PUTBMAP   map
室:
     0         ଠ쭮 ᠭ;
     1           ᮧ ;
Ŀ
GETBMAP   ⮢   ;

맮:
	  map    ⠡, 㤠 㤥 饭 ⮢  
                 ;  ⠡  ४  ⢮  128 
                  (   4  );
	  mov  map, @#GETBMAP
:
	  GETBMAP   map
室:
     0, r0    ⮢   ⠭; r0 ᮤন 
                   ;
     1           ⮢  ;

Ŀ
GETSMAP   ⮢   ⥬;

맮:
	  map    ⠡, 㤠 㤥 饭 ⮢  
                    ⥬;      ⠡   ४ 
                 ⢮ 128  (   4  );
	  mov  map, @#GETSMAP
:
	     map
室:
     r0         ⮢  ⥬ ⠭; r0 ᮤন 
                   ;

Ŀ
NEWROMP  ᮧ    ⠢      ।	
  .믮;
맮:
	  saddr  ᪠ ; ᮧ    㤥
                  ᨬ ਮ (077777);   
		  r0r6, ur0ur7   ᮮ⢥
                  ॣ஢ , 뤠襣  ;
	  mov  saddr, @#NEWROMP
:
	  NEWROMP   saddr
室:
     0, r0     ᮧ;  r0  ⥪饣	  ᮤন
                   ਯ   ᮧ   ;    
		 ᮧ    ॣ   r0r6,   ur0ur7
                        ᮮ⢥    ॣ஢ 
                 ⥪饣 ;
     1           ᮧ ਯ ;

Ŀ
NEWPROC  ᮧ  ;

맮:
	  desc     ਯ  ᮧ  ;
	  umap      ᮧ ;
	  mov  umap, r0
	  mov  desc, @#GETSMAP
:
	  NEWPROC   desc
室:
     0         ᮧ  ⠢  ।   믮 
		 ; r0 ᮤন  ਯ ;
     1         ᮧ  (ਯ    ) 
                  墠⠥ ;

Ŀ
KILPROC  "㡨" ;  ਯ    ᢮;
   ᢮ ,    ᮬ,	  
            ॣ,  㦨  ⨬   ᮬ;    
            饭 "㡨" ᠬ ᥡ;  ⮩  楫   
            ᯮ짮 , 室騩    ᮫į  (. 
            .10);

맮:
	  num    ਯ     ᯨ᪥  
                 ਯ஢ ᮢ;

	  mov  num, @#KILPROC
:
	  KILPROC   num
室:
          ;

Ŀ
SETPRI   ⠭  ਮ ⥪饬 ;

맮:
	  pri   ᫮ 祭 ⠭ ਮ;
	  mov  pri, @#SETPRI
:
	  SETPRI    pri
室:
          ;

Ŀ
HIMPRI    ਮ 㣮 ;

맮:
	  pri    ਮ  ;
	  proc   ਯ ;
	  mov  proc, r0
	  mov  pri, @#HIMPRI
:
	  HIMPRI    pri
室:
          ;

Ŀ
PROVEC   墠   ᫥饩 ࠡ⪨ 뢠;

맮:
	  vec    ,   墠;
	  par   ᫮įࠬ, ஥ 㤥 饭   ஥
                 ᫮ ;
	  mov  par, r0
	  mov  vec, @#PROVEC
:
	  PROVEC    vec
室:
     0         墠祭 ଠ쭮;
     1, r00  ࠢ쭮  ;
	  r0<>0  , 墠⨢襣  ࠭;

Ŀ
UNPVEC   ᢮  뢠;

맮:
	  vec    ,   ᢮;
	  mov  vec, @#UNPVEC
:
	  UNPVEC    vec
室:
     0         ᢮;
     1        ࠢ쭮  ;

Ŀ
PROREG   墠 ॣ  ᫥饩 樨;

맮:
	  rtbl   ⠡	ᠭ  ॣ,    
                 墠 (. ਯ ॣ);
		 rtbl:	 .word	 reg	; ॣ
			 .word	 mask	;᪠ ࠧ冷 r/o
			 .word	 copy	; ࠧ冷 r/o
			 .word	 stat	;ࠢ ࠡ⪨
		 (+)	 .word	 adr	; ணࠬ
			 .word	 strt	;⥫쭠 ଠ
			 .word	 rese	;᫮  ஢
					;  INIT-뢠
     , 祭 (+),  㪠뢠,  ᫨    ⢥ 
 㤥 ᯮ짮 ணࠬ (०  HALT),  	
.

	  mov  rtbl, @#PROREG
:
	  PROREG    rtbl
室:
     0, r0    	祩	R.COPY	ਯ   墠祭
                 ॣ;
     1, r00     ਯ ॣ;
	  r0<>0  , 墠⨢襣 ॣ ࠭;

Ŀ
UNPREG   ᢮ 㫨㥬 ॣ;

맮:
	  reg    ॣ,   ᢮;
	  mov  reg, @#UNPREG
:
	  UNPREG    reg
室:
          ;

Ŀ
WAITINT    뢠        ⠩Ġ  
   ॣ ;
맮:
	  mask  ᪠    뢠  
                 ࠡ⪨         ;         ᪠ 
                 ᯮ  ࠧ襭  뢠,   
                  ;
		 ᫨  ᪥ ⠭ ࠧ M.TIO,   
                 㤥 ( ᥣ 祣)    ⠩Ġ; 
		 ࢠ ⠩Ġ  ⨪   r3,  	r4
                     ࠬ,      砥 
		 㯫 ⠩Ġ 㤥 饭  r2;
	  mov  mask, @#WAITINT
:
	  WAITINT   mask
室:
	  r0,r1 ந諮 뢠  饭      
                   ॣࠬ,  㫨㥬    ᮬ; 
                 ᫨  뫮 饭   㫨㥬  ॣࠬ, 
		  r0  r1 ᮤঠ     祭,    
		 । ᮬ WAITINT;  ⨢ 砥  	r0
		  r1 ᮤন ᫮ R.STRT ᮮ⢥饣
                 ਯ ॣ (᫨  ॣ  ᮤঠ 
		 ᮮ⢥騥 R.STRT,  뫮   饭  
                 㫨㥬 ॣࠬ;  ᫨      ॣ஢ 
                 ᮤন  ०  祭,    㣮  ॣ 
		 ᮤন R.STRT ਯ 㫨㥬 ॣ
                   뫮  ⮫쪮    饭     㫨㥬 
                 ॣࠬ);
	  r2    ᮤন   ,    ஬  ந諮
                 뢠, , ᫨  㯨  ⠩Ġ,  ᫮ 
		 ࠬ (..  ॣ r4);
Ŀ
SETINT   ⠢   ୮ 뢠;

맮:
	  vec    ,  ஬  ந  
		 뢠;     ।    V.LOW
		  V.HIGH;
	  mov  vec, @#SETVEC
:
	  SETINT    vec
室:
          ;

Ŀ
RESINT      ୮ 뢠;

맮:
	  vec    ,  ஬  뢠;
	  mov  vec, @#RESINT
:
	  RESINT    vec
室:
          ;

Ŀ
MTHLT	  뫠 ᫮  r0  ᭮ ࠭⢮ HALT;

맮:
	  adr     ᭮ ࠭⢥ HALT;

	  mov  X, r0	      ;r0  ᫮, ஥ 㤥 ।;
	  mov  adr, @#MTHLT
:
	  MTHLT     adr
室:
          ;

Ŀ
MFHLT	  뫠 ᫮  ᭮ ࠭⢮ HALT  r0;

맮:
	  adr     ᭮ ࠭⢥ HALT;

	  mov  adr, @#MFHLT
:
	  MFHLT     adr
室:
	  r0    ᮤন ᫮, ⠭  ᭮  ࠭
		 ⢠ ० HALT;

Ŀ
INITSEM  ᮧ  樠 ᥬ;

맮:
	  ival  砫쭮 祭 稪 ᥬ;
	  mov  ival, @#INITSEM
:
	  INITSEM   ival
室:
     0, r0    㪠⥫  ᮧ ᥬ;
     1           ᮧ ᥬ;

Ŀ
RELSEM   ᢮ ᥬ;

맮:
	  sem   㪠⥫  ᥬ,    㦥;
	  mov  sem, @#RELSEM
:
	  RELSEM    sem
室:
          ;

Ŀ
WAITSEM   ࠧ襭 ᥬ;

맮:
	  sem   㪠⥫  ᥬ,      ன
                 ;
	  mov  sem, @#WAITSEM
:
	  WAITSEM   sem
室:
          ;

Ŀ
SIGSEM   뤠 ࠧ襭 ᥬ;

맮:
	  sem   㪠⥫  ᥬ,   ;
	  mov  sem, @#SIGSEM
:
	  SIGSEM    sem
室:
          ;

Ŀ
TIMEOFF  몫砥  ६    ᢮  
     㪮 (᫥ 祭  ⠭
             ६  祭);
:
	  TIMEOFF
Ŀ
TIMEON   砥  ६ ;

:
	  TIMEON

Ŀ
GETPDS    ਯ ;

맮:
	  tadr  	⠡,  㤠	㤥  ⠭  ਯ;
                  ⠡ ।  ࠧ஬  ਯ 
		 (PROLEN/2 ᫮)
	  r0    	 ਯ   ,      㦭
		 ; ᫨ r0 㤥 ᮤঠ  0,    㤥
                 ⠭ ਯ ,  ⨫  
                 ॣ, 㦨  ᮬ

	  mov  descr,r0       ; ਯ  0
	  mov  tadr, @#GETPDS
:
	  GETPDS    tadr
室:
     0        ਯ ᪮஢  ⠡;
     1        ਯ  ⠭: ࠢ쭮     
                 ਯ

Ŀ
PUTPDS    ਯ ;

맮:
	  tadr   ⠡, 㤠 㤥   ਯ  
                 ;    ⠡   ।   ࠧ஬ 
		 ਯ (PROLEN/2 ᫮)
	  r0    	 ਯ   ,      㦭
		 ; ᫨ r0 㤥  ᮤঠ  0,    㤥
                 ᠭ ਯ ,  ⨫   
                 ॣ, 㦨  ᮬ

	  mov  descr,r0       ; ਯ  0
	  mov  tadr, @#PUTPDS
:
	  PUTPDS    tadr
室:
     0        ਯ ᠭ ( ⠡);
     1        ਯ  ᠭ:  ࠢ쭮     
                 ਯ

Ŀ
GETRDS    ਯ ॣ;

맮:
	  tadr  	⠡,  㤠	㤥  ⠭  ਯ;
                  ⠡ ।  ࠧ஬  ਯ 
		 (REGLEN/2 ᫮)
	  r0    	 ॣ,   ਯ   ண   㦭
                 ;

	  mov  reg, r0	     ; ॣ
	  mov  tadr, @#GETRDS
:
	  GETRDS    tadr
室:
     0        ਯ ᪮஢  ⠡;
     1        ਯ  ⠭: ࠢ쭮     
                 ॣ

Ŀ
PUTRDS    ਯ ॣ;

맮:
	  tadr  	 ⠡,   	 ன   㤥   ᠭ
                 ਯ;  ⠡  ।  ࠧ஬ 
		 ਯ (REGLEN/2 ᫮)
	  r0    	 ॣ,   ਯ   ண   㦭
                 ;

	  mov  reg, r0	     ; ॣ
	  mov  tadr, @#PUTRDS
:
	  PUTRDS    tadr
室:
     0        ਯ ᠭ;
     1        ਯ  ᠭ:  ࠢ쭮     
                 ॣ

Ŀ
GETPAR     㪠 ;
     祭 GETPDR: 뢠    
	    ਯ,  ⮫쪮 ᮤন ॣ஢ URx;
맮:
	  tadr  	⠡,  㤠	㤥  ⠭	ᮤন
		 ॣ஢ URx (8 ᫮);
	  r0     ਯ  ,  祩    㦭
		 ; ᫨ r0 㤥 ᮤঠ  0,    㤥
		 ⠭ URx   ਯ	,  
                 ⨫    ॣ,   㦨    
                 ᮬ

	  mov  descr,r0       ; ਯ  0
	  mov  tadr, @#GETPDS
:
	  GETPDS    tadr
室:
     0        URx ᪮஢  ⠡

     1        URx    ⠭:   ࠢ쭮      
                 ਯ

Ŀ
PUTPAR     㪠 ;
     祭 PUTPDR: 뢠   
	    ਯ,  ⮫쪮 ᮤন ॣ஢ URx;
맮:
	  tadr  	 ⠡,   	 ன   㤥   ⠭
		 ᮤন ॣ஢ URx (8 ᫮);
	  r0     ਯ  ,  祩    㦭
		 ; ᫨ r0 㤥  ᮤঠ  0,    
		 ᠭ URx    ਯ	,  
                 ⨫    ॣ,   㦨    
                 ᮬ

	  mov  descr,r0       ; ਯ  0
	  mov  tadr, @#PUTPDS
:
	  PUTPDS    tadr
室:
     0        URx ᠭ  ⠡;
     1        URx     ᠭ:   ࠢ쭮      
                 ਯ

          3.8. ࠭ /뢮

     ᪨ ॣ

161000	PICCSR	58059
161002	PICMR	  

161010	SNDC0R	58053
161012	SNDC1R	  
161014	SNDC2R
161016	SNDCSR
161020	SNLC0R	58053
161022	SNLC1R	  
161024	SNLC2R
161026	SNLCSR

161030	PPIA	58055
161032	PPIB	 
161034	PPIC	  
161036	PPIP	  

161040	HD.BUF	18097
161042	HD.ERR	  
161044	HD.SCNT
161046	HD.SNUM
161050	HD.CNLO
161052	HD.CNHI
161054	HD.SDH
161056	HD.CSR

161060	DLBUF	58051
161062	DLCSR	  


161064	KBDCSR	58079
161066	KBDBUF	  

161070	FD.CSR	181072
161072	FD.BUF	  
161076	FD.CNT


      


174176	GET4K	    174212  HIMPRI	174142	INITSEM
174200	GET8K	    174154  PROVEC	174144	RELSEM
174202	FREMEM	    174156  UNPVEC	174146	WAITSEM
174174	FRE4K	    174160  PROREG	174150	SIGSEM
174204	PUTMAP	    174162  UNPREG	174224	GETPDS
174206	GETBMAP     174164  WAITINT	174226	PUTPDS
174210	GETSMAP     174170  SETINT	174230	GETRDS
174166	NEWROMP     174172  RESINT	174232	PUTRDS
174214	NEWPROC     174216  MTHLT	174234	GETPAR
174222	KILPROC     174220  MFHLT	174236	PUTPAR
174152	SETPRI

174000  १ ⥬

       ⨫

177130 HFBUF   /   177600 GCSR     
 HDVEC230, FDVEC234
				    176200 MXX	    ""
177144 MDCSR   	    176202 MYY
177146 MDBUF   	    176204 MCSR
177150 MDSIZ   		    176206 MCALL

176500 RCSR    	    176240 SNCSR   
176502 RBUF        176242 SNBUF
176504 TCSR    
176506 TBUF			    177110 CLKREG  ė
 DLVEC300
				    174100 DCHAR    
177530 WCSR    	    174102 DSTRING   
177524 WMCSR        174104 DVAL
				    174106 KSTRING
177564 DCSR   	    174110 RESPON
177566 DBUF    		    177560 KBCSR
 DVEC64			    177562 KBBUF
				     KBVEC60
177174 HOLER  
				    174052 CNSBUF  
174060 FILCSR  	    174054 CNSKIL  KillHim
174062 FMCSR
174064 FCCSR


          3.9. 砭

     1.  ⢥ 樮 ⥬ ४ ᯮ짮 
,   ᮢ⨬     (SJ)  ஬
⥬ ⨯ RT11, , , Ą  ..
        ⥫쭮  ࠡ⠭      㦨 
"ନ":
       ⫨稨  RT11/SJ   ࠢ쭮  ਭ  
        8ࠧ來   ࠢ쭮 뢮   ᯫ 
       8ࠧ來  ᨬ;
      뢮  ᯫ 믮  뢠  ⨬஢ 
        ⭮įணࠬ ⥪ ;
      ࠧ १⭮    ᮪⨫  ਬ୮   
       400 ;
       ࠧ頥  䠩 DOS.SYS (  RT11SJ.SYS);
        "⠭"  ணࠬ,  ࠡ    ࠢ 
       RT11, ᪮ 뢮 ଠ樨 ᫠  ᪮쪮 ࠧ;
      ࠧࠡ⠭  ନ ࠩ, ⨬஢  
         ; ࠩ 室   䠩    ⥬   
       ,   ⠭ ࠩ RT11;
          ࠡ  ⮫쪮      ࠩ஬; 
        ࠩ  ࠡ ⮫쪮   ஬.

     2. , 㦨騥 뢠  㫨騥 ॣ, 
  ਮ  ᮪, 祬  ,  ᯮ騥 
㫨㥬 ॣ.

     3.    ࠡ⪥  뢠  ᮬ      뢠, 
㦨  ᮬ,  ᯥ஬ .

     4.  뢠, ࠡ뢠 , ᥣ ࠧ襭 
ࠪ᪨ ᥣ. ,  ன  㫨 ⥢ ⠩, 
   ⠩ 뢠,  ᪮   
 ( ⭮    ⥬    ⥪⮢  ᯫ) 
室 筮  ୮ ६, ࠡ   
᮪ ਮ (祬 ),    ਢ    "⠢" 
⥬ ᮢ  .

     5.  ࠡ⠥  ਮ 0 ,   ᨫ  ᢮  , 
"ࠥ" ୮ ६, 饥  ⠫ ᮢ. 
⮬, ᫨  ⠭ ᥡ ਮ, 訩 0 (  
⠭),         ࠢ 
 ࠡ饩 .


